<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>部门管理</title>
    <% include("/common/common_css_js.html"){} %>
</head>
<body>
    <div style="padding-bottom: 5px;">
        <div id="queryForm" class="uc-toolbaroverflow" _borderStyle="border-top:0;">
            <span class="separator"></span>
            <span>部门名称：</span>
            <input name="name" class="mini-textbox" />
            <span>部门分类：</span>
            <input id="formCategoryId" name="categoryId" class="mini-treeselect"
                   url="" multiSelect="false" valueField="id" textField="name"
                   parentField="pid" allowInput="true" valueFromSelect="true"
                   style="width: 250px;" expandOnLoad="0" required="false" nullItemText="请选择..." />

            <span class="separator"></span>
            <a class="mini-button" iconCls="icon-search" onclick="search()">查询</a>
            <a class="mini-button" iconCls="icon-add" onclick="add()">新增</a>
            <a class="mini-button" iconCls="icon-no" onclick="deleteDepartment()">删除</a>
        </div>
    </div>

    <div class = "mini-fit">
        <div id="datagrid1" class="mini-datagrid"
             style="width: 100%; height: 100%;"
             url="${base}/pages/department_manage/query" idField="id"
             showPager="true" pageSize="20" sizeList="[10,20,30,50,100]"
             allowResize="true"
             allowCellWrap="true">
            <div property="columns">
                <div field="id" width="140" headerAlign="center" align="left" allowSort="true">表ID</div>
                <div field="name" width="140" headerAlign="center" align="center" allowSort="true">部门名称</div>
                <div field="categoryId" width="140" headerAlign="center" align="center" allowSort="true" data-options='{cacheName:"sysDic"}' renderer="commonRender">部门分类</div>
                <div field="cityId" width="140" headerAlign="center" align="center" allowSort="true" data-options='{cacheName:"city"}' renderer="commonRender">所在城市</div>
                <div field="address" width="140" headerAlign="center" align="center">部门地址</div>
                <div field="phone" width="140" headerAlign="center" align="center" allowSort="true">部门电话</div>
                <div field="leaderId" width="140" headerAlign="center" align="center" allowSort="true" data-options='{cacheName:"sysUser"}' renderer="commonRender">部门领导</div>
                <div field="comment" width="140" headerAlign="center" align="center" allowSort="true">部门介绍</div>
                <div width="140" headerAlign="center" align="center" renderer="operRenderer">操作</div>
            </div>
        </div>
    </div>

    <!--编辑窗口-->
    <div id="updatePanel" class="mini-window" title="部门管理" style="width:700px;height:400px;"
         showMaxButton="true" showCollapseButton="false" showMinButton="true" showShadow="true"
         showToolbar="true" showFooter="true" showModal="true" allowResize="true" allowDrag="true">
        <div property="footer" style="padding:10px;text-align: right">
            <a  id="insertOrUpdateSaveBtn" name="insertOrUpdateSaveBtn" class="mini-button" iconCls="icon-save" onclick="saveInsertOrUpdate()">保存</a>
        </div>
        <div id="deparmentForm">
            <input name="id" class="mini-hidden"/>
            <table style="width: 100%">
                <tr>
                    <td><label>部门名称:</label></td>
                    <td><input name="name"  class="mini-textbox" required="true" /></td>
                </tr>
                <tr>
                    <td><label>部门分类:</label></td>
                    <td>
                        <input id="categoryId" name="categoryId" class="mini-treeselect"
                               url="" multiSelect="false" valueField="id" textField="name"
                               parentField="pid" allowInput="true" valueFromSelect="true"
                               style="width: 250px;" expandOnLoad="0" required="true" nullItemText="请选择..." />
                    </td>
                    <td><label>部门电话:</label></td>
                    <td><input name="phone"  class="mini-textbox" required="false" /></td>
                </tr>
                <tr>
                    <td><label>部门领导:</label></td>
                    <td>
                        <input id="leaderId" name="leaderId" class="mini-combobox" style="width: 250px;" textField="name" valueField="id" emptyText="请选择..."
                               required="true" allowInput="true" showNullItem="true" nullItemText="请选择..." />
                    </td>
                    <td><label>部门地址:</label></td>
                    <td><input name="contact"  class="mini-textbox" required="false" /></td>
                </tr>
                <tr>
                    <td><label>所在城市:</label></td>
                    <td>
                        <input id="cityId" name="cityId" class="mini-treeselect"
                               url="" multiSelect="false" valueField="id" textField="name"
                               parentField="pid" allowInput="true" valueFromSelect="true"
                               style="width: 250px;" expandOnLoad="0" required="true" nullItemText="请选择..." />
                    </td>
                </tr>
                <tr>
                    <td><label>部门简介:</label></td>
                    <td colspan="3"><input name="comment" class="mini-textarea" required="false" style="width:450px;height: 60px;"/></td>
                </tr>
            </table>
        </div>
    </div>
    <script type="text/javascript">
        mini.parse();
        let grid = mini.get("datagrid1");
        let oper;
        let deparmentForm = new mini.Form("#deparmentForm");


        $(function () {
            // 加载列表数据
            grid.load();

            //新增、修改弹出框默认操作
            oper = OPER_ADD();
            let formCategoryIdJsonData = commonRenderSysDicDropListByKey("sysDic","XT_DIC_DEPARTMENT_CATEGORY");
            mini.get("formCategoryId").loadList(formCategoryIdJsonData, "id", "pid");
            mini.get("categoryId").loadList(public_deepClone(formCategoryIdJsonData), "id", "pid");

            let sysUserJsonData = commonRenderDropList("sysUser");
            mini.get("leaderId").load(sysUserJsonData, "id", "pid");

            let cityJsonData = commonRenderDropList("city");
            mini.get("cityId").loadList(cityJsonData, "id", "pid");
        });

        function search() {
            let form = new mini.Form("#queryForm");
            let data = form.getData(true);
            grid.load(data);
        }

        //操作
        function operRenderer(e) {
            let record = e.record;
            let id = record.id;
            let s = "";
            s += '<a class="New_Button" href="javascript:update(\'' + id + '\')" style="margin-left: 15px;">编辑</a>';
            return s;
        }

        function add(){
            deparmentForm.clear();
            oper = OPER_ADD();
            // 弹出添加窗口
            public_showModelAtPos("updatePanel", "center", "middle");
        }


        function update(){
            deparmentForm.clear();
            // 获取当前选中的行
            let row = grid.getSelected();
            if(!row){
                mini.alert("请选择要编辑的行!","部门编辑",null);
                return;
            }
            deparmentForm.setData(row);
            oper = OPER_UPDATE();
            // 弹出添加窗口
            public_showModelAtPos("updatePanel", "center", "middle");
        }

        //新增保存或修改保存
        function saveInsertOrUpdate(){
            // 添加并保存
            deparmentForm.validate();
            if (deparmentForm.isValid() == false){
                public_showErrorTips("请将信息填写完整再进行下一步！");
                return;
            }

            let data = deparmentForm.getData(true);

            let methodName = oper == OPER_ADD() ? "insert" : "update";
            let ret = public_getServerData("${base}/pages/department_manage/" + methodName,data);
            public_showTip(ret);
            if(ret.ok) {
                // 重新刷新数据
                grid.load();
                refreashCache();
                public_onCancel('updatePanel');
            }
        }

        function deleteDepartment(){
            let select = grid.getSelected();
            if(select == null){
                public_showErrorTips("未选中");
                return;
            }
            mini.confirm(
                "确定删除？",
                "确定？",
                function(action) {
                    if (action == "ok") {
                        let ret = public_getServerData("${base}/pages/department_manage/delete",select.id);
                        public_showTip(ret);
                        if(ret.ok) {
                            // 重新刷新数据
                            grid.removeRow(select, true);
                            refreashCache();
                        }
                    }
                });
        }

        // 刷新缓存，把刷新的缓存放到父页面，应当调用父级页面方法刷新
        function refreashCache() {
            parent.window.loadCache();
        }


    </script>
</body>
</html>